The present invention relates to integrated circuit memory devices and methods of operating same, and more particularly to buffer memory devices and methods of operating buffer memory devices.
Semiconductor memory devices can typically be classified on the basis of memory functionality, data access patterns and the nature of the data storage mechanism. For example, distinctions are typically made between read-only memory (ROM) devices and read-write memory (RWM) devices. The RWM devices typically have the advantage of offering both read and write functionality with comparable data access times. Typically, in RWM devices, data is stored either in flip-flops for xe2x80x9cstaticxe2x80x9d memory devices or as preset levels of charge on a capacitor in xe2x80x9cdynamicxe2x80x9d memory devices. As will be understood by those skilled in the art, static memory devices retain their data as long as a supply of power is maintained, however, dynamic memory devices require periodic data refreshing to compensate for potential charge leakage. Because RWM devices use active circuitry to store data, they belong to a class of memory devices known as xe2x80x9cvolatilexe2x80x9d memory devices because data stored therein will be lost upon termination of the power supply. ROM devices, on the other hand, may encode data into circuit topology (e.g., by blowing fuses, removing diodes, etc.). Since this latter type of data storage may be hardwired, the data cannot be modified, but can only be read. ROM devices also typically belong to a class of memory devices known as xe2x80x9cnonvolatilexe2x80x9d memory devices because data stored therein will typically not be lost upon termination of the power supply. Other types of memory devices that have been more recently developed are typically referred to as nonvolatile read-write (NVRWM) memory devices. These types of memory devices include EPROM (erasable programmable read-only memory), E2PROM (electrically erasable programmable read-only memory), and flash memories, for example.
An additional memory classification is typically based on the order in which data can be accessed. Here, most memory devices belong to the random-access class, which means that memory locations can be read from or written to in random order. Notwithstanding the fact that most memory devices provide random-access, typically only random-access RWM memories use the acronym RAM. Alternatively, memory devices may restrict the order of data access to achieve shorter data access times, reduce layout area and/or provide specialized functionality. Examples of such specialized memory devices include buffer memory devices such as first-in first-out (FIFO) memory devices, last-in first-out (LIFO or xe2x80x9cstackxe2x80x9d) memory devices, shift registers and content-addressable memory (CAM) devices.
A final classification of semiconductor memories is based on the number of data input and data output ports associated with the memory cells therein. For example, although most memory devices have unit cells therein that provide only a single port which is shared to provide an input and output path for transfer of data, memory devices with higher bandwidth requirements often have cells therein with multiple input and output ports. However, the addition of ports to unit memory cells typically increases the complexity and layout area requirements for these higher bandwidth memory devices.
Single-port memory devices are typically made using static RAM cells if fast data access times are a requirement, and dynamic RAM cells if low cost is a primary requirement. Many FIFO memory devices use dual-port RAM based designs with self-incrementing internal read and write pointers to achieve fast fall-through capability. As will be understood by those skilled in the art, fall-through capability is typically measured as the time elapsing between the end of a write cycle into a previously empty FIFO and the time an operation to read that data may begin. Exemplary FIFO memory devices are more fully described and illustrated at section 2.2.7 of a textbook by A. K. Sharma entitled xe2x80x9cSemiconductor Memories: Technology, Testing and Reliabilityxe2x80x9d, IEEE Press (1997).
In particular, dual-port SRAM-based FIFOs typically utilize separate read and write pointers to advantageously allow read and write operations to occur independently of each other and achieve fast fall-through capability since data written into a dual-port SRAM FIFO can be immediately accessed for reading. Since these read and write operations may occur independently, independent read and write clocks having different frequencies may be provided to enable the FIFO to act as a buffer between peripheral devices operating at different rates. Unfortunately, a major disadvantage of typical dual-port SRAM-based FIFOs is the relatively large unit cell size for each dual-port SRAM cell therein. Thus, for a given semiconductor chip size, dual-port buffer memory devices typically provide less memory capacity relative to single-port buffer memory devices. For example, using a standard DRAM cell as a reference unit cell consuming one (1) unit of area, a single-port SRAM unit cell typically may consume four (4) units of area and a dual-port SRAM unit cell typically may consume sixteen (16) units of area. Moreover, the relatively large unit cells of a dual-port SRAM FIFO limit the degree to which the number of write operations can exceed the number of read operations, that is, limit the capacity of the FIFO.
To address these limitations of dual-port buffer memory devices, single-port buffer memory devices have been developed to, among other things, achieve higher data capacities for a given semiconductor chip size. For example, U.S. Pat. No. 5,546,347 to Ko et al. entitled xe2x80x9cInterleaving Architecture And Method For A High Density FIFOxe2x80x9d, assigned to the present assignee, discloses a memory device which has high capacity and uses relatively small single-port memory cells. However, the use of only single port memory cells typically precludes simultaneous read and write access to data in the same memory cell, which means that single-port buffer memory devices typically have slower fall-through time than comparable dual-port memory devices. Moreover, single-port buffer memory devices may use complicated arbitration hardware to control sequencing and queuing of reading and writing operations.
U.S. Pat. No. 5,371,708 to Kobayashi also discloses a FIFO memory device containing a single-port memory array, a read data register for holding read data from the memory array and a write data register for holding write data to the memory array. A bypass switch is also provided for transferring data from the write data register to the read data register so that the memory array can be bypassed during testing of the FIFO to detect the presence of defects therein. However, like the above-described single-port buffer memory devices, simultaneous read and write access to data is not feasible.
Commonly assigned U.S. Pat. Nos. 5,978,307, 5,982,700 and 5,999,478 disclose memory buffers having fast fall-through capability. These memory buffers contain a tri-port memory array of moderate capacity having nonlinear columns of tri-port cells therein which collectively form four separate registers, and a substantially larger capacity supplemental memory array (e.g., DRAM array) having cells therein with reduced unit cell size. The tri-port memory array has a read port, a write port and a bidirectional input/output port. The tri-port memory array communicates internally with the supplemental memory array via the bidirectional input/output port and communicates with external devices (e.g., peripheral devices) via the read and write data ports. Efficient steering circuitry is also provided by a bidirectional crosspoint switch that electrically couples terminals (lines IO and IOB) of the bidirectional input/output port in parallel to bit lines (BL and BLB) in the supplemental memory array during a write-to-memory time interval and vice versa during a read-from-memory time interval.
Notwithstanding the above described buffer memory devices, there still exists a need to develop high speed buffer memory devices having expanded functionality, increased data capacity and reduced unit cell size.
An integrated circuit memory device according to an embodiment of the present invention includes a quad-port cache memory device and an embedded memory device therein. These devices operate collectively as high speed buffer memory devices having fast fall through capability and extended data capacity, for example. These devices also do not require complex arbitration circuitry to oversee reading and writing operations.
The quad-port cache memory device may comprise a data input register having an input electrically coupled to a first port of the cache memory device and an output electrically coupled to a second port of the cache memory device. A multiplexer is also provided. This multiplexer is responsive to at least one select signal and has a first input electrically coupled to the output of the data input register and a second input electrically coupled to a third port of the cache memory device. The quad-port cache memory device also preferably includes an output register having an input electrically coupled to an output of the multiplexer and an output electrically coupled to a fourth port of the cache memory device. Retransmit capability may also be provided by including a retransmit register within the quad-port cache. This retransmit register preferably has an input electrically coupled to the first port and an output electrically coupled to a third input of the multiplexer. The at least one select signal may include three (3) select signals, for example. These select signals may be a retransmit path select signal, a memory path select signal and a direct path select signal. The data input register, the output register and the retransmit register are also preferably responsive to write address, a read address and a retransmit address, respectively. The embedded memory device may comprise a SRAM memory array, for example, and the array may have a write port electrically coupled to the second port of the cache memory device and a read port electrically coupled to the third port of the cache memory device.
Another embodiment of the present invention includes tri-port or other multi-port cache memory devices. Such devices may comprise a data input register having an input electrically coupled to a first port of the cache memory device and a multiplexer that is responsive to a direct path select signal and a memory path select signal. The multiplexer may also have a first input electrically coupled to an output of the data input register and a second input electrically coupled to a second port of the cache memory device. An output register is also provided. This output register has an input electrically coupled to an output of the multiplexer and an output electrically coupled to a third port of the cache memory device. Here, the second port of the cache memory device may by a bidirectional port and the first input of the multiplexer may be electrically coupled by a pass gate device (e.g., CMOS transmission gate) to the bidirectional port. The pass gate device may be responsive to a read/write control signal. An embedded DRAM memory array may also be electrically coupled to the bidirectional port.
A still further embodiment of the present invention includes a multi-port memory device bit cell. This bit cell may comprise an input register and a first retransmit register having an input electrically coupled to an input of the input register. This first retransmit register may comprise a retransmit from zero register. A multiplexer may also be provided. This multiplexer may have a first input electrically coupled to an output of the input register and a second input electrically coupled to an output of the first retransmit register. An output register may also be provided along with a second retransmit register. In particular, the output register may have an input electrically coupled to an output of the multiplexer and the second retransmit register may have an input electrically coupled to an output of the output register and an output electrically coupled to a third input of the multiplexer. The second retransmit register may constitute a retransmit from mark (RTM) register. The multiplexer may also be responsive to a retransmit from zero path select signal, a direct path select signal and a retransmit from mark path select signal.
Additional embodiments of the present invention include methods of operating a FIFO buffer memory device having an embedded memory device and a plurality of multi-port cache memory devices therein. These methods include the operations of reading a first page of data from a first multi-port cache memory device during a first read time interval and reading a second page of data from a second multi-port cache memory device during a second read time interval that follows that first time interval. Arbitration operations are also performed during these reading operations in order to make additional pages of data available for reading without interruption. In particular, prior to termination of the second read time interval, an arbitration operation is performed to determine whether a page of next-to-read data relative to the second page of data is available in the embedded memory device. Then, if the page of next-to-read data is available, an operation is performed to transfer the page of next-to-read data from the embedded memory device to the first multi-port cache memory device during the second read time interval. Operations may also be performed to write data into the second multi-port cache memory during the first and/or second read time interval and then transfer this page of data from the second multi-port cache memory device to the embedded memory device during the second read time interval.